Apache Impala, একটি শক্তিশালী SQL প্রসেসিং ইঞ্জিন, ডেটাবেসে ডেটা স্টোর করার জন্য বিভিন্ন ধরনের টেবিল সাপোর্ট করে। এর মধ্যে দুটি প্রধান ধরনের টেবিল রয়েছে: Managed Table এবং External Table। এই দুই ধরনের টেবিলের মধ্যে পার্থক্য বুঝে ডেটার সংরক্ষণ এবং ব্যবস্থাপনা আরও সহজ এবং কার্যকর করা যায়।
Managed Table
Managed Table (বা Internal Table) হল একটি ধরণ যা Impala ক্লাস্টারে সম্পূর্ণভাবে ম্যানেজ এবং কন্ট্রোল করা হয়। এই ধরনের টেবিলের মধ্যে থাকা ডেটা হাডুপ ফাইল সিস্টেম (HDFS) অথবা অন্য ডেটা সিস্টেমে Impala দ্বারা সম্পূর্ণভাবে নিয়ন্ত্রিত হয়।
Managed Table এর বৈশিষ্ট্য
- ডেটার মালিকানা: Managed টেবিলের ক্ষেত্রে, Impala পুরো ডেটা ও মেটাডেটার মালিকানার দায়িত্ব পালন করে। যখন টেবিলটি ড্রপ করা হয়, তখন সেই টেবিলের সাথে সম্পর্কিত সমস্ত ডেটা এবং মেটাডেটা মুছে ফেলা হয়।
- স্বয়ংক্রিয় ডেটা ম্যানেজমেন্ট: টেবিলের ডেটা Impala দ্বারা সঞ্চিত থাকে এবং টেবিলের ড্রপ বা রিডিফাইন করার সময় ডেটার কপিও মুছে ফেলা হয়।
- কোয়ারি পারফরম্যান্স: Managed টেবিল সাধারণত কোয়েরি পারফরম্যান্সে উন্নত হতে পারে কারণ Impala এই টেবিলের ডেটা এবং মেটাডেটার সম্পূর্ণ নিয়ন্ত্রণ রাখে।
Managed Table উদাহরণ
CREATE TABLE managed_table (
id INT,
name STRING,
age INT
);
External Table
External Table হল একটি টেবিল যার ডেটা Impala দ্বারা পুরোপুরি নিয়ন্ত্রিত নয়। এই ধরনের টেবিলগুলি অন্য কোনো ডেটা সোর্স (যেমন HDFS বা S3) থেকে ডেটা এক্সেস করে এবং Impala এর মাধ্যমে কেবল সেই ডেটা বিশ্লেষণ করে।
External Table এর বৈশিষ্ট্য
- ডেটার মালিকানা: External টেবিলের ক্ষেত্রে, ডেটার মালিকানা Impala এর বাইরে থাকে। এটি অন্য কোথাও (যেমন HDFS বা ক্লাউড স্টোরেজ) সঞ্চিত থাকে এবং Impala কেবলমাত্র সেই ডেটার রেফারেন্স (metadata) ধরে রাখে।
- ডেটা বজায় রাখা: External টেবিলের ডেটা ড্রপ করার সময় Impala শুধুমাত্র টেবিলের মেটাডেটা মুছে ফেলে। ডেটার কোনো ক্ষতি হয় না এবং তা বহিরাগত জায়গাতেই থাকে।
- শেয়ারড ডেটা: External টেবিল ব্যবহার করে বিভিন্ন অ্যাপ্লিকেশন বা টুল একে অন্যের ডেটা শেয়ার করতে পারে। একাধিক ব্যবহারকারী একই ডেটা সোর্সের ওপর কাজ করতে পারেন।
External Table উদাহরণ
CREATE EXTERNAL TABLE external_table (
id INT,
name STRING,
age INT
)
LOCATION '/user/data/external_data';
Managed এবং External Table এর মধ্যে পার্থক্য
| বৈশিষ্ট্য | Managed Table | External Table |
|---|---|---|
| ডেটার মালিকানা | Impala | বাইরের সিস্টেম (HDFS, S3, ইত্যাদি) |
| ডেটা ড্রপ করার সময় | ডেটা মুছে যায় | ডেটা অপরিবর্তিত থাকে |
| টেবিলের ব্যবস্থাপনা | Impala সম্পূর্ণভাবে ম্যানেজ করে | বাইরের সিস্টেম ম্যানেজ করে |
| বহিরাগত অ্যাপ্লিকেশন/টুলের সঙ্গে শেয়ারিং | সাধারণত শেয়ার করা হয় না | অন্যান্য অ্যাপ্লিকেশন বা টুলের সঙ্গে শেয়ার করা যেতে পারে |
সারাংশ
Managed এবং External Table এর মধ্যে প্রধান পার্থক্য হল ডেটার মালিকানা এবং ব্যবস্থাপনা। Managed Table-এ Impala ডেটা এবং মেটাডেটার পুরোপুরি মালিকানা রাখে, যেখানে External Table-এ ডেটা বাহ্যিক সিস্টেমে সঞ্চিত থাকে এবং Impala কেবলমাত্র ডেটার রেফারেন্স ধরে রাখে। এই দুই ধরনের টেবিলের উপযুক্ত ব্যবহার নিশ্চিত করে ডেটা ম্যানেজমেন্ট এবং বিশ্লেষণ কার্যক্রম আরও দক্ষ এবং কার্যকর হয়।
Read more